/**
 * @Title: package-info
 * @ProjectName java-base-learning
 * @Description: 桥接模式
 * 特点：
 * 定义：将抽象部分和它的具体部分分离，使他们都可以独立变化
 * 通过组合的方式建立两个类之间的联系，而不是继承
 *
 * 适用场景：
 * 1.抽象和具体之间增加更多的灵活性。
 * 2.一个类存在两个（或多个）独立变化的维度，且这两个（或多个）都需要独立的进行扩展。
 * 3.不希望使用继承，或者因为使用多个继承类导致系统类的个数剧增
 *
 * 优点：
 * 1.抽离抽象部分及其具体实现部分
 * 2.提高了系统的扩展性
 * 3.符合开闭原则
 * 4.符合合成复用原则
 *
 * 缺点：
 * 1.增加了系统理解与设计难度。
 * 2.需要正确识别出系统中两个独立变化的维度。
 *
 * @author Merlin
 * @date 2019/3/1210:20
 */
package com.design.merlin.bridgingpattern;